    //数组中一个对象消失（dom移除，数组移除）
const remove = (arr,item)=>{
    app.removeChild(item.dom)
    const index = arr.findIndex((i)=>{
        return i.id === item.id
    })
    arr.splice(index, 1)
}

//我的子弹数组myBulletsArr定时上移
const moveMyBullets = ()=>{
    myBulletsArr.forEach((item)=>{
        item.move()

        //判断是否出边界，若是，移除dom元素，更新数组
        if(!item.isOk()){
            // app.removeChild(item.dom)
            // const index = myBulletsArr.findIndex((bullet)=>{
            //     return item.id === bullet.id
            // })
            // myBulletsArr.splice(index, 1)
            remove(myBulletsArr,item)
        }else{
            item.patch()
        }
    })
}
setInterval(moveMyBullets,20)

//敌军飞机移动
const moveEnemyPlanes = ()=>{
    enemyPlanesArr.forEach((item)=>{
        item.move()
        if(!item.isOk()){
            remove(enemyPlanesArr,item)
        }else{
            item.patch()
        }
    })
}

setInterval(moveEnemyPlanes,10)

//敌军子弹下移
const moveEnemyBullets = ()=>{
    enemyBulletsArr.forEach((item)=>{
        item.move()
        if(!item.isOk()){
            remove(enemyBulletsArr,item)
        }else{
            item.patch()
        }
    })
}
 setInterval(moveEnemyBullets,20)


//碰撞检测：1、我军飞机与敌方子弹2、我军飞机与敌机3、我方子弹与敌机3、我方子弹与敌方子弹

    //碰撞函数
const isHit = (item1,item2)=>{
    return  (
        item1.left + item1.width > item2.left + 40 && 
        item1.left < item2.left + item2.width - 35 && 
        item1.top + item1.height > item2.top + 85 && 
        item1.top < item2.top + item2.height -85
    )
}   

    

//定时检测，碰撞触发
const hitCheck = ()=>{

    //敌方子弹遍历检测  检测我方飞机 、 子弹
    enemyBulletsArr.forEach((item)=>{
        if(isHit(item,myPlane)){
            alert('game over')
        }
        myBulletsArr.forEach((myBullet)=>{
            if(isHit(item,myBullet)){
                remove(myBulletsArr,myBullet)
                remove(enemyBulletsArr,item)
            }
        })
    })
    
    //敌机遍历检测  检测我方子弹 、 飞机

   
    enemyPlanesArr.forEach((item)=>{
        if(isHit(item,myPlane)){
            alert('game over')

        }
        myBulletsArr.forEach((myBullet)=>{
            if(isHit(item,myBullet)){
                console.log('灭')
                remove(myBulletsArr,myBullet)
                remove(enemyPlanesArr,item)
            }
        })
    })

    //我方飞机检测敌机 、子弹

    // enemyBulletsArr.forEach((item)=>{
    //     if(isHit(item,myPlane)){
    //         alert("game over")
    //     }
    // })

    // enemyPlanesArr.forEach((item)=>{
    //     if(isHit(item,myPlane)){
    //         alert("game over")
    //     }
    // })

}

setInterval(hitCheck,20)
  